package models

import (
	"github.com/astaxie/beego/orm"
	"time"
)
/**
 *  联系管理员结构体
 */
type Link struct {
Id	            int64   `orm:"column(id);pk"`  //设置主键
Sender      string
Content         string
Accepter    string
Sd_time       string
Status          int64
}
/**
 * 获取信息根据用户名
 */
func GetLinkList(name string) ([]Link, error) {
	var Link []Link
	cond := orm.NewCondition()
	cond1 := cond.And("Sender__icontains", name).Or("Accepter__icontains", name)
	qs := LinkObj()
	qs = qs.SetCond(cond1)
	_,err := qs.All(&Link)
	if err != nil {
		log := UitlLog()
		log.Error("connect db err"+err.Error())
		return nil, err
	}
	return Link ,nil
}
/**
 * 联系管理员或发送内容
 */
func GoLink(sender,accepter,content string) (*Link, error) {
	o := orm.NewOrm()
	timeNow := time.Now()
	Time := timeNow.Format("2006-01-02 15:04:05")
	link := &Link{Sender:sender,Accepter:accepter,Content:content,Sd_time:Time}
	//存入
	_, err := o.Insert(link)
	if err != nil{
		log := UitlLog()
		log.Error("connect db err"+err.Error())
		return nil, err
	}
	//return user
	//存入成功
	return link, nil
}
/**
 * 根据ID取消评论
 */
func DoDelLinkComment(id int64) (int64, error) {
	num,err := LinkObj().Filter("Id",id).Delete()
	if err != nil {
		log := UitlLog()
		log.Error("connect db err"+err.Error())
		return 0, err
	}
	return num, nil
}
/**
 * 根据评论ID修改状态值
 */
func UpSta(id,sta int64)  error{
	_,err := LinkObj().Filter("Id",id).Update(orm.Params{
		"Status": sta,
	})
	if err != nil{
		log := UitlLog()
		log.Error("connect db err"+err.Error())
		return  err
	}
	return nil
}
/**
 *  Link 表实例化
 */
func LinkObj() orm.QuerySeter {
	return orm.NewOrm().QueryTable(new(Link))
}
